//package com.ybg.config.jarslink;
//import java.net.URL;
//import java.util.List;
//import com.alipay.jarslink.api.ModuleConfig;
//import com.alipay.jarslink.api.impl.AbstractModuleRefreshScheduler;
//import com.google.common.collect.ImmutableList;
//import com.google.common.collect.ImmutableMap;
//
//public class ModuleRefreshSchedulerImpl extends AbstractModuleRefreshScheduler {
//    
//    @Override
//    public List<ModuleConfig> queryModuleConfigs(){
//        return ImmutableList.of(ModuleRefreshSchedulerImpl.buildModuleConfig());
//    }
//    
//    /**
//     * 这个调度器在bean初始化的时候会启动一个调度任务，每分钟刷新一次模块，如果模块的版本号发生变更则会更新模块。实现这个方法时，必须把模块（jar包）下载到机器本地，模块的配置信息说明如下：
//     * 
//     * name：全局唯一，建议使用英文，忽略大小写。
//     * enabled：当前模块是否可用，默认可用，卸载模块时可以设置成false。
//     * version：模块的版本，如果版本号和之前加载的不一致，框架则会重新加载模块。
//     * Properties：spring属性配置文件。
//     * moduleUrl：模块的本地存放地址。
//     * overridePackages：需要突破双亲委派的包名,一般不推荐使用，范围越小越好，如com.alipay.XX。
//     **/
//    public static ModuleConfig buildModuleConfig(){
//        URL demoModule = Thread.currentThread().getContextClassLoader().getResource("META-INF/spring/demo-1.0.0.jar");
//        ModuleConfig moduleConfig = new ModuleConfig();
//        moduleConfig.setName("demo");
//        moduleConfig.setEnabled(true);
//        moduleConfig.setVersion("1.0.0.20170621");
//        //moduleConfig.setProperties(ImmutableMap.of("svnPath", new Object()));
//        moduleConfig.setModuleUrl(ImmutableList.of(demoModule));
//        return moduleConfig;
//    }
//}